package com.zy.chat.util;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;


@Component
public class ChatRedisUtils {

    @Autowired
    private RedisUtils redisUtils;
    /**
     * 功能描述： 创建已发送消息房间号
     * 根据ChatVO中的fromUserId和toUserId生成聊天房间号：问题id-小号用户id-大号用户id
     * 例如“1-2”： 小号在前，大号在后；保证房间号唯一
     *
     * @param content
     */
    public  HashMap<String,String> createChatNumber(String touser,String username,String content,String type) {
        HashMap<String,String> msg=new HashMap<>();
        TimeUtils timeUtils = new TimeUtils();
        msg.put("touser",touser);
        msg.put("username",username);
        msg.put("content",content);
        msg.put("time",timeUtils.getCurrentTime());
        msg.put("type",type);
        return msg;
    }

    /**
     * 功能描述：将JavaBean对象的信息缓存进Redis
     *
     * @param map 聊天信息JavaBean
     * @return 是否保存成功
     */
    public boolean hsaveCacheChatMessage(Map map) {
        //判断key是否存在
        String key="chat:singlemsg";
        if (redisUtils.hasKey(key)) {
            boolean res = redisUtils.hsetadd(key,map);
            return res;
        } else {
            //不存在key时，将chatVO存进缓存，并设置过期时间
            boolean res = redisUtils.hset(key,map);
            return res;
        }
    }

    public boolean hsaveCacheChatGroupMessage(Map map) {
        //判断key是否存在
        String key="chat:groupmsg";
        if (redisUtils.hasKey(key)) {
            boolean res = redisUtils.hsetadd(key,map);
            return res;
        } else {
            //不存在key时，将chatVO存进缓存，并设置过期时间
            boolean res = redisUtils.hset(key,map);
            return res;
        }
    }



}
